/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pimp.organizermanager;

import java.util.*;
/**
 *
 * @author Wilku
 */
public class Event extends GlobalEvent{


    private Vector<ToDo> toDos;                     // Wg mnie chyba lepiej tutaj będzie trzymać ID, niż referencje.
    private Vector<Transaction> transactions;       // Id są bowiem uniwersalne i do odtworzenia zaróno w pliku jak i w drzewie.

    private Vector<Year> years;
    private Vector<Month> months;
    private Vector<Day> days;
    private boolean cyclic;

    public Event(String id, Date beginDate, Date endDate, String description) { //tmp!!!!
        super(new ID(ID.PATH_SEPARATOR + "Event" + id), beginDate, endDate, description);
        years = new Vector<Year>();
        months = new Vector<Month>();
        days = new Vector<Day>();

        toDos = new Vector<ToDo>();
        transactions = new Vector<Transaction>();
    }



    public boolean addDay(Day day) {
        days.add(day);
        return true;
    }

    public boolean addMonth(Month month) {
        months.add(month);
        return true;
    }

    public boolean addYear(Year year) {
        years.add(year);
        return true;
    }

    public boolean setCyclic(boolean cyclic) {
        this.cyclic = cyclic;
        return true;
    }

    public boolean getCyclic() {
        return this.cyclic;
    }

    public Node transformToNode() {
        Node ret = new Node("Event");

        super.addGlobalEventFieldsToNode(ret);

        /*  Na razie nie implementuje zawierania ToDosów oraz Tranzakcji...
         *  Gdyż trzeba ustalić, jak potem dochodzić np do wniosku o który Todos
         *  chodzi. Wg mnie chyba lepiej tutaj będzie trzymać ID, niż referencje.
         *  Id są bowiem uniwersalne i do odtworzenia zaróno w pliku jak i w drzewie.
        */

        ret.addChild(new Node("cyclic",cyclic));

        return ret;
    }




}
